﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SRD.Model.SRD.DTO;
using SRD.Model.SRD.BO;
using SRD.Classes;
using System.Data;
using SRD.Model;

namespace SRD.View.Views
{
    public partial class editProfissional : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id_profissional"] != null)
                {
                    preencherCampos();
                    carregarComboLider();
                    carregarComboCargo();
                    carregarComboSetor();
                }
                else
                {
                    txtLogin.Text = "";
                    txtSenha.Text = "";
                    carregarComboLider();
                    carregarComboCargo();
                    carregarComboSetor();
                }
            }
        }

        public void preencherCampos()
        {
            PROFISSIONAL profissional = new PROFISSIONAL();

            profissional.PROFISSIONAL_ID = Convert.ToInt32(Request.QueryString["id_profissional"].ToString());

            PROFISSIONAL profissionalExistente = new ProfissionalBO().findByID(profissional);

            txtNome.Text = profissionalExistente.NM_PROFISSIONAL;
            txtCpf.Text = profissionalExistente.CPF;
            txtRg.Text = profissionalExistente.RG;
            txtEmail.Text = profissionalExistente.EMAIL;
            txtLogin.Text = profissionalExistente.LOGIN;
            txtSenha.Text = profissionalExistente.SENHA;
            ddlCargo.SelectedValue = profissionalExistente.CARGO_ID.ToString();
            ddlLider.SelectedValue = profissionalExistente.LIDER_ID.ToString();
            ddlSetor.SelectedValue = profissionalExistente.SETOR_ID.ToString();
            if (profissionalExistente.ATIVO.Equals('S'))
            {
                CheckBoxAtivo.Checked = true;
            }
            else
            {
                CheckBoxAtivo.Checked = false;
            }
            if (profissionalExistente.RESPONSAVEL.Equals('S'))
            {
                chkResponsavel.Checked = true;
            }
            else
            {
                chkResponsavel.Checked = false;
            }
        }

        public void carregarComboLider()
        {
            Usuario usuario = (Usuario)Session["usuario"];
            ProfissionalBO profissional = new ProfissionalBO();
            ddlLider.DataSource = profissional.findLiderByEmpresaId(usuario.empresa);
            ddlLider.DataBind();
        }

        public void carregarComboSetor()
        {
            Usuario usuario = (Usuario)Session["usuario"];
            ProfissionalBO profissional = new ProfissionalBO();
            ddlSetor.DataSource = profissional.findSetorByEmpresaId(usuario.empresa);
            ddlSetor.DataBind();
        }

        public void carregarComboCargo()
        {
            Usuario usuario = (Usuario)Session["usuario"];
            ProfissionalBO profissional = new ProfissionalBO();
            ddlCargo.DataSource = profissional.findCargoByEmpresaId(usuario.empresa);
            ddlCargo.DataBind();
        }

        protected void BtSalvar_Click(object sender, ImageClickEventArgs e)
        {
            PROFISSIONAL profissional = new PROFISSIONAL();
            Usuario usuario = (Usuario)Session["usuario"];
            if (Request.QueryString["id_profissional"] != null)
            {
                profissional.PROFISSIONAL_ID = Convert.ToInt32(Request.QueryString["id_profissional"].ToString());
                profissional.NM_PROFISSIONAL = txtNome.Text;
                profissional.CPF = txtCpf.Text;
                profissional.RG = txtRg.Text;
                profissional.EMAIL = txtEmail.Text;
                profissional.LOGIN = txtLogin.Text;
                profissional.SENHA = txtSenha.Text;
                profissional.CARGO_ID = Convert.ToInt32(ddlCargo.SelectedValue);
                profissional.LIDER_ID =  Convert.ToInt32(ddlLider.SelectedValue);
                profissional.SETOR_ID = Convert.ToInt32(ddlSetor.SelectedValue);
                profissional.EMPRESA_ID = usuario.empresa;
                if (CheckBoxAtivo.Checked)
                {
                    profissional.ATIVO = 'S';
                }
                else
                {
                    profissional.ATIVO = 'N';
                }
                if (chkResponsavel.Checked)
                {
                    profissional.RESPONSAVEL = 'S';
                }
                else
                {
                    profissional.RESPONSAVEL = 'N';
                }
                String resposta = new ProfissionalBO().update(profissional);
                Session["mensagem"] = resposta;
            }
            else
            {
                profissional.NM_PROFISSIONAL = txtNome.Text;
                profissional.CPF = txtCpf.Text;
                profissional.RG = txtRg.Text;
                profissional.EMAIL = txtEmail.Text;
                profissional.LOGIN = txtLogin.Text;
                profissional.SENHA = txtSenha.Text;
                profissional.CARGO_ID = Convert.ToInt32(ddlCargo.SelectedValue);
                profissional.LIDER_ID = Convert.ToInt32(ddlLider.SelectedValue);
                profissional.SETOR_ID = Convert.ToInt32(ddlSetor.SelectedValue);
                profissional.EMPRESA_ID = usuario.empresa;
                if (CheckBoxAtivo.Checked)
                {
                    profissional.ATIVO = 'S';
                }
                else
                {
                    profissional.ATIVO = 'N';
                }
                if (chkResponsavel.Checked)
                {
                    profissional.RESPONSAVEL = 'S';
                }
                else
                {
                    profissional.RESPONSAVEL = 'N';
                }
                String resposta = new ProfissionalBO().save(profissional);
                Session["mensagem"] = resposta;
            }
            Response.Redirect("listProfissional.aspx");
            profissional = null;
        }

        protected void BtVoltar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("listProfissional.aspx");
        }
    }
}